package com.freedom.admin.domain.repository;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.freedom.admin.infrastructure.persistence.pojo.bo.PermissionBO;
import com.freedom.admin.infrastructure.persistence.pojo.query.PermissionPageQuery;

import java.util.List;
import java.util.Set;

public interface PermissionRepository {
    List<String> findByRoleCodes(Set<String> roleCodeList);

    Page<PermissionBO> queryPermissionPage(PermissionPageQuery queryParams);

    List<PermissionBO> queryPermissions(Integer menuId);

    PermissionBO findPermissionById(Integer permissionId);

    Boolean modifyPermission(PermissionBO permissionBO);

    Boolean addPermission(PermissionBO permissionBO);

    void removeByIds(List<Integer> ids);
}
